package com.shujia.scala

object Demo10Apply {
  def main(args: Array[String]): Unit = {

    Student1.print()

    //    Student1.apply("java")


    //直接调用apply
    //    Student1("scala")


    val student2: Student1 = Student1("001", "张三")
  }
}


/**
  * Student1 ： 相当于单例模式
  *
  * object 中所有的方法可以直接调用，相当于java中给方法static关键字
  *
  */

//Student1 式Student1类的伴生对象
object Student1 {

  def print(): Unit = {
    println("student")
  }

  /**
    * apply 函数可以直接通过对象名调用
    *
    */

  def apply(id: String, name: String): Student1 = new Student1(id, name)
}


class Student1(id: String, name: String) {

}


